$(function() {
    $("#botonBuscarVentas").click(function() {
        $("#coverDisplay").css({
            "opacity": "1",
            "width": "100%",
            "height": "100%"
        });
        var url = "historialCompras?";
        if ($("#selectCategoria").val() != "") {
            url += "categoria=" + $("#selectCategoria").val() + "&";
        }
        if ($("#selectProducto").val() != "" && $("#selectProducto").val() != null) {
            url += "producto=" + $("#selectProducto").val() + "&";
        }
        if ($("#desde").val() != "") {
            url += "desde=" + $("#desde").val() + "&";
        }
        if ($("#hasta").val() != "") {
            url += "hasta=" + $("#hasta").val() + "&";
        }
        if ($("#usuario").val() != "") {
            url += "usuario=" + $("#usuario").val() + "&";
        }
        url = url.substr(0, url.length - 1);
        window.location.href = url;
    });


    $("#buscarVentas .criterio").keypress(function(e) {
        if (e.which == 13) {
            $("#botonBuscarVentas").trigger("click");
        }
    });
    $("#selectCategoria").change(function() {
        if ($(this).val() == "") {
            $("#selectProducto").html("").prop("disabled", true);
        } else {
            $.ajax({
                url: "listarProductos",
                data: {
                    idCategoria: $(this).val(),
                },
                type: 'POST',
                success: function(data) {
                    if (data != "[]") {
                        data = JSON.parse(data);
                        var str = "<option value=''>Todo</option>";
                        $.each(data, function(k, l) {
                            str += "<option value='" + l.id_servicio + "'>" + l.nombre + "</option>";
                        });
                        $("#selectProducto").html(str).prop("disabled", false)
                    }
                }
            });
        }
    });


    $("#paginacion li.noActive a").click(function() {
        $("#coverDisplay").css({
            "opacity": "1",
            "width": "100%",
            "height": "100%"
        });
        var paginacion = $("#paginacion");
        if ($(this).data("page") == 1) {
            url = "historialCompras?";
        } else {
            var url = "historialCompras?page=" + $(this).data("page") + "&";
        }

        if ($(paginacion).data("categoria") != "") {
            url += "categoria=" + $(paginacion).data("categoria") + "&";
        }
        if ($(paginacion).data("producto") != "") {
            url += "producto=" + $(paginacion).data("producto") + "&";
        }
        if ($(paginacion).data("desde") != "") {
            url += "desde=" + $(paginacion).data("desde") + "&";
        }
        if ($(paginacion).data("hasta") != "") {
            url += "hasta=" + $(paginacion).data("hasta") + "&";
        }
        if ($(paginacion).data("usuario") != "") {
            url += "usuario=" + $(paginacion).data("usuario") + "&";
        }
        url = url.substr(0, url.length - 1);
        window.location.href = url;
    });

    $("#desde").datepicker({
        changeMonth: true,
        numberOfMonths: 1,
        changeYear: true,
        dateFormat: "dd/mm/yy",
        monthNamesShort: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
        dayNamesMin: ["Dom", "Lun", "Mar", "Mié", "Juv", "Vie", "Sáb"],
        onClose: function(selectedDate) {
            $("#hasta").datepicker("option", "minDate", selectedDate);
        }
    });
    $("#hasta").datepicker({
        changeMonth: true,
        numberOfMonths: 1,
        changeYear: true,
        dateFormat: "dd/mm/yy",
        monthNamesShort: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
        dayNamesMin: ["Dom", "Lun", "Mar", "Mié", "Juv", "Vie", "Sáb"],
        onClose: function(selectedDate) {
            $("#desde").datepicker("option", "maxDate", selectedDate);
        }
    });
    if ($("#desde").val() != "") {
        $("#hasta").datepicker("option", "minDate", $("#desde").val());
    }
    if ($("#hasta").val() != "") {
        $("#desde").datepicker("option", "maxDate", $("#hasta").val());
    }
    $("#tablaCompras .botonVerMas").click(function() {
        $("#labelFechaVenta").html($(this).data("fecha"));
        $("#labelUsuarioVenta").html($(this).data("usuario"));
        $("#mostrarCategoria").val($(this).data("nombrecategoria"));
        $("#mostrarProductoServicio").val($(this).data("nombreproducto"));
        $("#mostrarCantidad").val($(this).data("cantidad"));
        $("#mostrarSubtotal").val($(this).data("subtotal"));
        $("#mostrarImpuestos").val($(this).data("impuestos"));
        $("#mostrarTotal").val($(this).data("total"));
        $("#modoPago").val($(this).data("modopago"));
        $("#mostrarNota").val($(this).data("nota"));
        $("#verMasCompra").modal();
    });
    $("#tablaCompras .eliminarCompra").click(function() {
        $("#nombreProducto").html($(this).data("nombreproducto"));
        $("#id-compra").val($(this).data("idcompra"));
        $("#modalEliminarCompra").modal();
    });
    $("#crearCompra").click(function() {
        $("#agregarCategoria").val("");
        $("#agregarProductoServicio").html("").attr("readonly", true);
        $("#nuevoEstatus").val("Pendiente");
        $("#modoPagoSelected").val("1");
        $("#divFormaDePago").hide();
        $("#agregarNota").val("");
        resetFormConsumo();
        $("#modalCrearCompra").modal();
    });
    $("#agregarCategoria").change(function() {
        resetFormConsumo();
        if ($(this).val() == "") {
            $("#agregarProductoServicio").html("").attr('readonly', true);

        }
        else {
            $("#agregarProductoServicio").val("");
            cargarProductosServicios($(this).val());
        }
    });

    $("#agregarProductoServicio").change(function() {
        resetFormConsumo();
        if ($(this).val() == "") {

        } else {
            var select = $(this).find('option:selected');
            var valorunitario = select.attr("data-valorunitario");

            var selectCategoria = $("#agregarCategoria").find('option:selected');
            var tieneInventario = selectCategoria.attr("data-tieneinventario");
            if (tieneInventario == 1) {
                var cantidadActual = select.attr("data-cantidadActual");
                $("#agregarAyudaCantidad").html(cantidadActual + " en inventario.");
            } else {
                $("#agregarAyudaCantidad").html("");
            }
            $("#agregarCantidad").attr('readonly', false);
            // $("#agregarPrecioUnitario").val(valorunitario);
            //  calcularTotalSubTotal();
        }

    });



    $("#agregarPrecioUnitario").change(function() {

        calcularTotalSubTotal();

    });
    $("#agregarCantidad").change(function() {
        $("#agregarAdvertenciaCantidad").hide();
        if ($(this).val() == "" || $(this).val() == 0) {
            $(this).val("");
            $("#agregarSubtotal").val("");
            $("#agregarTotal").val("");
            $("#nuevoImpuesto").val("");

        }
        else {

            calcularTotalSubTotal();
        }
    });
    $("#nuevoImpuesto").change(function() {
        var descuento = parseInt($(this).val());
        var subtotal = parseInt($("#agregarSubtotal").val());
        calcularTotalSubTotal();
    });
    $("#agregarImpuestos .checkbox").change(function() {
        calcularTotalSubTotal();
    });
    $("#nuevoEstatus").change(function() {
        if ($(this).val() == "Pendiente") {
            $("#divFormaDePago").hide("normal");
        } else {
            $("#divFormaDePago").show("normal");
        }
    });
    function calcularTotalSubTotal() {
        var precioUnitario = $("#agregarPrecioUnitario").val();
        var cantidad = $("#agregarCantidad").val();
        if (precioUnitario != "" && cantidad != "") {
            precioUnitario = parseInt(precioUnitario);
            cantidad = parseInt(cantidad);
            var subTotal = precioUnitario * cantidad;
            $("#agregarSubtotal").val(subTotal);
            var totalImpuesto = 0;
            var descuento = 0;
            if ($("#nuevoImpuesto").val() == "") {
                $("#nuevoImpuesto").val("0");
            }
            descuento = parseInt($("#nuevoImpuesto").val());
            var total = subTotal + totalImpuesto + descuento;
            $("#agregarTotal").val(total);
        }
    }

    function cargarProductosServicios(categoria) {
        $.ajax({
            url: "cargarProductosServicios",
            data: {
                categoria: categoria
            },
            type: 'POST',
            success: function(data) {
                var select = [];
                if (data != "[]") {
                    data = JSON.parse(data);
                    $("#agregarProductoServicio").attr('readonly', false);
                    select.push("<option value=''>Seleccionar...</option>");
                    $.each(data, function(i, j) {
                        select.push("<option value='" + j.id_servicio + "' data-valorUnitario='" + j.valor + "' data-cantidadActual='" + j.cantidad_actual + "'>" + j.nombre + "</option>");
                    });

                }
                select = select.join("");
                document.getElementById('agregarProductoServicio').innerHTML = select;
            }
        });
    }
    function resetFormConsumo() {
        $("#agregarPrecioUnitario").val("");
        $("#agregarCantidad").val("");

        $("#agregarAyudaCantidad").html("");
        $("#agregarAdvertenciaCantidad").hide();
        $("#nuevoImpuesto").val("");

        $("#agregarSubtotal").val("");
        $("#agregarTotal").val("");
    }
    $("#enviarFormCrearCompra").click(function() {
        if (validarFormularioAfter("formCrearCompra")) {
            $("#formCrearCompra").submit();
        }
    });
});